Skip to content

[portsorch]: Add support of cable breakout feature#287

Closed
volodymyrsamotiy wants to merge 3 commits intosonic-net:v1.0.3from
volodymyrsamotiy:v1.0.3
Closed

[portsorch]: Add support of cable breakout feature#287
volodymyrsamotiy wants to merge 3 commits intosonic-net:v1.0.3from
volodymyrsamotiy:v1.0.3

Conversation

@volodymyrsamotiy
Copy link
Copy Markdown
Collaborator

No description provided.

@msftclas
Copy link
Copy Markdown

@volodymyrsamotiy,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Copy link
Copy Markdown
Contributor

@stcheng stcheng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you also change the previous ConfigDone to PortInitDone notification? That would make more sense.


m_portListLaneMap[lane_set] = port_id;

SWSS_LOG_INFO("Create port %lx with the speed %u", port_id, speed);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change to notice? same as line 509.

bool m_portConfigDone = false;
sai_uint32_t m_portCount;
map<set<int>, sai_object_id_t> m_portListLaneMap;
map<set<int>, tuple<string, uint32_t>> m_lanesALiasSpeedMap;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rename to m_lanesAliasSpeedMap.

iss >> entry[column];
}

/* If port has no alias, then use its' name as alias */
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no apostrophe after its

}
}

bool PortsOrch::createPort(const set<int> &lane_set, uint32_t speed)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

change the name to addPort? it then aligns all the other add/remove functions in SwSS.

if (m_lanesALiasSpeedMap.find(it->first) == m_lanesALiasSpeedMap.end())
{
SWSS_LOG_INFO("Port has already been initialized before alias:%s", alias.c_str());
if (!removePort(it->first))
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it's better to redefine the input parameter of removePort. The function removePort can use port object id directly.

@nikos-github
Copy link
Copy Markdown
Contributor

How did you test this and on what platforms? If you couldn't unit test on all supported platforms, then you should introduce automated tests to take care of that and make sure the feature works prior to committing.

@volodymyrsamotiy
Copy link
Copy Markdown
Collaborator Author

@Nikos-Li
I performed manual tests on Mellanox platforms (we don't have acces to other platforms).
It is not possible to introduce automated tests for port breakout, because it requires changes with physical connections (split cables).

@lguohan
Copy link
Copy Markdown
Contributor

lguohan commented Sep 14, 2017

@Nikos-Li, they will make sure the feature works for their platform. other platform owners will need to test this on their platform. Since some platform do not support certain SAI function calls, we need to make sure this feature would not break (ensure it will not be invoked on those platforms.)

@nikos-github
Copy link
Copy Markdown
Contributor

nikos-github commented Sep 14, 2017

@volodymyrsamotiy At minimum, you should include output from your testing and since you don't have access to other platforms and use the google unit test framework to introduce tests that exercise the code and functionality you added in the orch agent.

@nikos-github
Copy link
Copy Markdown
Contributor

@lguohan The code in orch agent is platform independent and not under the responsibility of any platform owners. To make sure that the feature doesn't break and the code is working properly, if automated framework tests are not acceptable, then google unit test should be introduced.

Copy link
Copy Markdown
Contributor

@stcheng stcheng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you generate a new pull request against the master?

oleksandrivantsiv pushed a commit to oleksandrivantsiv/sonic-swss that referenced this pull request Mar 1, 2023
* Add support for FDB notification in virtual switch

* Change aging fdb time to default

* Address comments

* Address comments

* Address comments

* Change notification to debug on fdb

* Move sleep after processing to avoid deadlock

* Remove join thread to remove possible deadlock

* Bring back thread join

Without join if process will call uninitialize and thread
was running we will get coredump caused by not finished thread

* Fix deadlock problem with try_lock
lukasstockner pushed a commit to genesiscloud/sonic-swss that referenced this pull request Apr 2, 2023
Description
The heath metric in ssd_generic for innodisk SSDs is too lazy. Fix to match the entire health number rather than just the first digit.

How Has This Been Tested?
Manual testing on Mellanox MSN2100
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants